# 当前时间节点实现一个装饰器，每次调用函数时，将函数名以及调用此函数的时间节点写入文件中。
# 可用代码：
# import time
# struct_time = time.localtime()
# print(time.strftime("%Y-%m-%d %H:%M:%S",struct_time))
#
# def wrapper():
#     pass
#
# def func1(f):
#     print(f.__name__)#获取函数名
#
# func1(wrapper)
# 当前时间节点实现一个装饰器，每次调用函数时，将函数名以及调用此函数的时间节点写入文件中。
import time
def wrapper(f):
    def inner(*args,**kwargs):
        with open('log01',encoding='utf-8',mode='a') as f2:
            struct_time=time.localtime()
            f2.write(f'北京时间:{time.strftime("%Y-%m-%d %H:%M:%S",struct_time)}执行了{f.__name__}函数\n')
        ret=f(*args,**kwargs)
        return ret
    return inner

@wrapper
def wcnb():
    print('in wcnb')
wcnb()
time.sleep(2)
wcnb()
time.sleep(1)
wcnb()
import time
def wrapper(f):
    def inner(*args,**kwargs):
        with open('log',encoding='utf-8',mode='a') as f1:
            struct_time = time.localtime()
            f1.write(f'北京时间：{time.strftime("%Y-%m-%d %H:%M:%S",struct_time)}执行了 {f.__name__}函数\n')
        ret = f(*args,**kwargs)
        return ret
    return inner

@wrapper
def wcnb():
    print('in wcnb')
wcnb()
time.sleep(2)
wcnb()
time.sleep(1)
wcnb()